[Lighttpd] Hosty wirtualne oparte na bazie MySQL
Kategoria: FAQ, etykiety: lighttpd, virtualhost
Dodany: 2010-06-27 16:27
(zmodyfikowany: 2010-06-27 17:15)
Przez: jezoo
Wyświetleń: 7085
Jeżeli masz już zainstalowanego Lighttpd, MySQL i chcesz mieć porządek z hostami wirtualnymi to poniżej podaje w jaki sposób można szybko skonfigurować Lighttpd.
Zaczynamy.
Na początek tworzymy tabele np **vhosts o następującej strukturze:
CREATE TABLE IF NOT EXISTS
vhosts
(
domain
varchar(68) COLLATE utf8_unicode_ci NOT NULL,
docroot
varchar(128) COLLATE utf8_unicode_ci NOT NULL,
UNIQUE KEYdomain
(domain
,docroot
)
);
Następnie tworzymy usera dla tej bazy:
GRANT SELECT ON twojabaza.vhosts TO lighttpd@localhost identified by 'Tajne Haslo';
Wstawiamy przykladowe dane:
INSERT INTO vhosts VALUES('sub.domena.tld','/home/vhosts/przyklad');
Kolejnym krokiem jest skonfigurowanie Lighttpd. Otwieramy plik konfiguracyjny (/etc/lighttpd/lighttpd.conf)
Dodajemy moduł:
server.modules += ("mod_mysql_vhost")
Następnie połączenie do bazy danych:
mysql-vhost.db = "twojabaza"
mysql-vhost.user = "vhosts"
mysql-vhost.pass = "Tajne Haslo"
mysql-vhost.sock = "/tmp/mysql.sock"
mysql-vhost.sql = "SELECT docroot FROM vhosts WHERE domain='?';"
mysql-vhost.hostname = "localhost"
mysql-vhost.port = 3306
Na koniec restartujemy serwer i sprawdzamy naszego wirtualnego hosta.
Problemy jakie możesz napotkać
1) domena główna musi być zdefiniowana w pliku konfiguracyjnym
$HTTP["host"] == "domena.tld" {
server.document-root = "/home/katalog/domeny/glownej"
}
i ostatnia oczywista sprawa, katalog domeny wirtualnej musisz stworzyć ręcznie no chyba, że zrobisz to z automatu przez skrypt :)